package com.ten.mall.vo;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

public class ItemExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ItemExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIsNull() {
            addCriterion("goods_name is null");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIsNotNull() {
            addCriterion("goods_name is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsNameEqualTo(String value) {
            addCriterion("goods_name =", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotEqualTo(String value) {
            addCriterion("goods_name <>", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameGreaterThan(String value) {
            addCriterion("goods_name >", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameGreaterThanOrEqualTo(String value) {
            addCriterion("goods_name >=", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLessThan(String value) {
            addCriterion("goods_name <", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLessThanOrEqualTo(String value) {
            addCriterion("goods_name <=", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLike(String value) {
            addCriterion("goods_name like", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotLike(String value) {
            addCriterion("goods_name not like", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIn(List<String> values) {
            addCriterion("goods_name in", values, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotIn(List<String> values) {
            addCriterion("goods_name not in", values, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameBetween(String value1, String value2) {
            addCriterion("goods_name between", value1, value2, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotBetween(String value1, String value2) {
            addCriterion("goods_name not between", value1, value2, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsPointIsNull() {
            addCriterion("goods_point is null");
            return (Criteria) this;
        }

        public Criteria andGoodsPointIsNotNull() {
            addCriterion("goods_point is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsPointEqualTo(String value) {
            addCriterion("goods_point =", value, "goodsPoint");
            return (Criteria) this;
        }

        public Criteria andGoodsPointNotEqualTo(String value) {
            addCriterion("goods_point <>", value, "goodsPoint");
            return (Criteria) this;
        }

        public Criteria andGoodsPointGreaterThan(String value) {
            addCriterion("goods_point >", value, "goodsPoint");
            return (Criteria) this;
        }

        public Criteria andGoodsPointGreaterThanOrEqualTo(String value) {
            addCriterion("goods_point >=", value, "goodsPoint");
            return (Criteria) this;
        }

        public Criteria andGoodsPointLessThan(String value) {
            addCriterion("goods_point <", value, "goodsPoint");
            return (Criteria) this;
        }

        public Criteria andGoodsPointLessThanOrEqualTo(String value) {
            addCriterion("goods_point <=", value, "goodsPoint");
            return (Criteria) this;
        }

        public Criteria andGoodsPointLike(String value) {
            addCriterion("goods_point like", value, "goodsPoint");
            return (Criteria) this;
        }

        public Criteria andGoodsPointNotLike(String value) {
            addCriterion("goods_point not like", value, "goodsPoint");
            return (Criteria) this;
        }

        public Criteria andGoodsPointIn(List<String> values) {
            addCriterion("goods_point in", values, "goodsPoint");
            return (Criteria) this;
        }

        public Criteria andGoodsPointNotIn(List<String> values) {
            addCriterion("goods_point not in", values, "goodsPoint");
            return (Criteria) this;
        }

        public Criteria andGoodsPointBetween(String value1, String value2) {
            addCriterion("goods_point between", value1, value2, "goodsPoint");
            return (Criteria) this;
        }

        public Criteria andGoodsPointNotBetween(String value1, String value2) {
            addCriterion("goods_point not between", value1, value2, "goodsPoint");
            return (Criteria) this;
        }

        public Criteria andGoodsPicIsNull() {
            addCriterion("goods_pic is null");
            return (Criteria) this;
        }

        public Criteria andGoodsPicIsNotNull() {
            addCriterion("goods_pic is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsPicEqualTo(String value) {
            addCriterion("goods_pic =", value, "goodsPic");
            return (Criteria) this;
        }

        public Criteria andGoodsPicNotEqualTo(String value) {
            addCriterion("goods_pic <>", value, "goodsPic");
            return (Criteria) this;
        }

        public Criteria andGoodsPicGreaterThan(String value) {
            addCriterion("goods_pic >", value, "goodsPic");
            return (Criteria) this;
        }

        public Criteria andGoodsPicGreaterThanOrEqualTo(String value) {
            addCriterion("goods_pic >=", value, "goodsPic");
            return (Criteria) this;
        }

        public Criteria andGoodsPicLessThan(String value) {
            addCriterion("goods_pic <", value, "goodsPic");
            return (Criteria) this;
        }

        public Criteria andGoodsPicLessThanOrEqualTo(String value) {
            addCriterion("goods_pic <=", value, "goodsPic");
            return (Criteria) this;
        }

        public Criteria andGoodsPicLike(String value) {
            addCriterion("goods_pic like", value, "goodsPic");
            return (Criteria) this;
        }

        public Criteria andGoodsPicNotLike(String value) {
            addCriterion("goods_pic not like", value, "goodsPic");
            return (Criteria) this;
        }

        public Criteria andGoodsPicIn(List<String> values) {
            addCriterion("goods_pic in", values, "goodsPic");
            return (Criteria) this;
        }

        public Criteria andGoodsPicNotIn(List<String> values) {
            addCriterion("goods_pic not in", values, "goodsPic");
            return (Criteria) this;
        }

        public Criteria andGoodsPicBetween(String value1, String value2) {
            addCriterion("goods_pic between", value1, value2, "goodsPic");
            return (Criteria) this;
        }

        public Criteria andGoodsPicNotBetween(String value1, String value2) {
            addCriterion("goods_pic not between", value1, value2, "goodsPic");
            return (Criteria) this;
        }

        public Criteria andGoodsStorgeIsNull() {
            addCriterion("goods_storge is null");
            return (Criteria) this;
        }

        public Criteria andGoodsStorgeIsNotNull() {
            addCriterion("goods_storge is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsStorgeEqualTo(Integer value) {
            addCriterion("goods_storge =", value, "goodsStorge");
            return (Criteria) this;
        }

        public Criteria andGoodsStorgeNotEqualTo(Integer value) {
            addCriterion("goods_storge <>", value, "goodsStorge");
            return (Criteria) this;
        }

        public Criteria andGoodsStorgeGreaterThan(Integer value) {
            addCriterion("goods_storge >", value, "goodsStorge");
            return (Criteria) this;
        }

        public Criteria andGoodsStorgeGreaterThanOrEqualTo(Integer value) {
            addCriterion("goods_storge >=", value, "goodsStorge");
            return (Criteria) this;
        }

        public Criteria andGoodsStorgeLessThan(Integer value) {
            addCriterion("goods_storge <", value, "goodsStorge");
            return (Criteria) this;
        }

        public Criteria andGoodsStorgeLessThanOrEqualTo(Integer value) {
            addCriterion("goods_storge <=", value, "goodsStorge");
            return (Criteria) this;
        }

        public Criteria andGoodsStorgeIn(List<Integer> values) {
            addCriterion("goods_storge in", values, "goodsStorge");
            return (Criteria) this;
        }

        public Criteria andGoodsStorgeNotIn(List<Integer> values) {
            addCriterion("goods_storge not in", values, "goodsStorge");
            return (Criteria) this;
        }

        public Criteria andGoodsStorgeBetween(Integer value1, Integer value2) {
            addCriterion("goods_storge between", value1, value2, "goodsStorge");
            return (Criteria) this;
        }

        public Criteria andGoodsStorgeNotBetween(Integer value1, Integer value2) {
            addCriterion("goods_storge not between", value1, value2, "goodsStorge");
            return (Criteria) this;
        }

        public Criteria andGoodsSellIsNull() {
            addCriterion("goods_sell is null");
            return (Criteria) this;
        }

        public Criteria andGoodsSellIsNotNull() {
            addCriterion("goods_sell is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsSellEqualTo(Integer value) {
            addCriterion("goods_sell =", value, "goodsSell");
            return (Criteria) this;
        }

        public Criteria andGoodsSellNotEqualTo(Integer value) {
            addCriterion("goods_sell <>", value, "goodsSell");
            return (Criteria) this;
        }

        public Criteria andGoodsSellGreaterThan(Integer value) {
            addCriterion("goods_sell >", value, "goodsSell");
            return (Criteria) this;
        }

        public Criteria andGoodsSellGreaterThanOrEqualTo(Integer value) {
            addCriterion("goods_sell >=", value, "goodsSell");
            return (Criteria) this;
        }

        public Criteria andGoodsSellLessThan(Integer value) {
            addCriterion("goods_sell <", value, "goodsSell");
            return (Criteria) this;
        }

        public Criteria andGoodsSellLessThanOrEqualTo(Integer value) {
            addCriterion("goods_sell <=", value, "goodsSell");
            return (Criteria) this;
        }

        public Criteria andGoodsSellIn(List<Integer> values) {
            addCriterion("goods_sell in", values, "goodsSell");
            return (Criteria) this;
        }

        public Criteria andGoodsSellNotIn(List<Integer> values) {
            addCriterion("goods_sell not in", values, "goodsSell");
            return (Criteria) this;
        }

        public Criteria andGoodsSellBetween(Integer value1, Integer value2) {
            addCriterion("goods_sell between", value1, value2, "goodsSell");
            return (Criteria) this;
        }

        public Criteria andGoodsSellNotBetween(Integer value1, Integer value2) {
            addCriterion("goods_sell not between", value1, value2, "goodsSell");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceIsNull() {
            addCriterion("goods_price is null");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceIsNotNull() {
            addCriterion("goods_price is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceEqualTo(BigDecimal value) {
            addCriterion("goods_price =", value, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceNotEqualTo(BigDecimal value) {
            addCriterion("goods_price <>", value, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceGreaterThan(BigDecimal value) {
            addCriterion("goods_price >", value, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("goods_price >=", value, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceLessThan(BigDecimal value) {
            addCriterion("goods_price <", value, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("goods_price <=", value, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceIn(List<BigDecimal> values) {
            addCriterion("goods_price in", values, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceNotIn(List<BigDecimal> values) {
            addCriterion("goods_price not in", values, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("goods_price between", value1, value2, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("goods_price not between", value1, value2, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsDecodeIsNull() {
            addCriterion("goods_decode is null");
            return (Criteria) this;
        }

        public Criteria andGoodsDecodeIsNotNull() {
            addCriterion("goods_decode is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsDecodeEqualTo(BigDecimal value) {
            addCriterion("goods_decode =", value, "goodsDecode");
            return (Criteria) this;
        }

        public Criteria andGoodsDecodeNotEqualTo(BigDecimal value) {
            addCriterion("goods_decode <>", value, "goodsDecode");
            return (Criteria) this;
        }

        public Criteria andGoodsDecodeGreaterThan(BigDecimal value) {
            addCriterion("goods_decode >", value, "goodsDecode");
            return (Criteria) this;
        }

        public Criteria andGoodsDecodeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("goods_decode >=", value, "goodsDecode");
            return (Criteria) this;
        }

        public Criteria andGoodsDecodeLessThan(BigDecimal value) {
            addCriterion("goods_decode <", value, "goodsDecode");
            return (Criteria) this;
        }

        public Criteria andGoodsDecodeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("goods_decode <=", value, "goodsDecode");
            return (Criteria) this;
        }

        public Criteria andGoodsDecodeIn(List<BigDecimal> values) {
            addCriterion("goods_decode in", values, "goodsDecode");
            return (Criteria) this;
        }

        public Criteria andGoodsDecodeNotIn(List<BigDecimal> values) {
            addCriterion("goods_decode not in", values, "goodsDecode");
            return (Criteria) this;
        }

        public Criteria andGoodsDecodeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("goods_decode between", value1, value2, "goodsDecode");
            return (Criteria) this;
        }

        public Criteria andGoodsDecodeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("goods_decode not between", value1, value2, "goodsDecode");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIsNull() {
            addCriterion("goods_type is null");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIsNotNull() {
            addCriterion("goods_type is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeEqualTo(String value) {
            addCriterion("goods_type =", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeNotEqualTo(String value) {
            addCriterion("goods_type <>", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeGreaterThan(String value) {
            addCriterion("goods_type >", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeGreaterThanOrEqualTo(String value) {
            addCriterion("goods_type >=", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeLessThan(String value) {
            addCriterion("goods_type <", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeLessThanOrEqualTo(String value) {
            addCriterion("goods_type <=", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeLike(String value) {
            addCriterion("goods_type like", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeNotLike(String value) {
            addCriterion("goods_type not like", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIn(List<String> values) {
            addCriterion("goods_type in", values, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeNotIn(List<String> values) {
            addCriterion("goods_type not in", values, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeBetween(String value1, String value2) {
            addCriterion("goods_type between", value1, value2, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeNotBetween(String value1, String value2) {
            addCriterion("goods_type not between", value1, value2, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsAddressIsNull() {
            addCriterion("goods_address is null");
            return (Criteria) this;
        }

        public Criteria andGoodsAddressIsNotNull() {
            addCriterion("goods_address is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsAddressEqualTo(String value) {
            addCriterion("goods_address =", value, "goodsAddress");
            return (Criteria) this;
        }

        public Criteria andGoodsAddressNotEqualTo(String value) {
            addCriterion("goods_address <>", value, "goodsAddress");
            return (Criteria) this;
        }

        public Criteria andGoodsAddressGreaterThan(String value) {
            addCriterion("goods_address >", value, "goodsAddress");
            return (Criteria) this;
        }

        public Criteria andGoodsAddressGreaterThanOrEqualTo(String value) {
            addCriterion("goods_address >=", value, "goodsAddress");
            return (Criteria) this;
        }

        public Criteria andGoodsAddressLessThan(String value) {
            addCriterion("goods_address <", value, "goodsAddress");
            return (Criteria) this;
        }

        public Criteria andGoodsAddressLessThanOrEqualTo(String value) {
            addCriterion("goods_address <=", value, "goodsAddress");
            return (Criteria) this;
        }

        public Criteria andGoodsAddressLike(String value) {
            addCriterion("goods_address like", value, "goodsAddress");
            return (Criteria) this;
        }

        public Criteria andGoodsAddressNotLike(String value) {
            addCriterion("goods_address not like", value, "goodsAddress");
            return (Criteria) this;
        }

        public Criteria andGoodsAddressIn(List<String> values) {
            addCriterion("goods_address in", values, "goodsAddress");
            return (Criteria) this;
        }

        public Criteria andGoodsAddressNotIn(List<String> values) {
            addCriterion("goods_address not in", values, "goodsAddress");
            return (Criteria) this;
        }

        public Criteria andGoodsAddressBetween(String value1, String value2) {
            addCriterion("goods_address between", value1, value2, "goodsAddress");
            return (Criteria) this;
        }

        public Criteria andGoodsAddressNotBetween(String value1, String value2) {
            addCriterion("goods_address not between", value1, value2, "goodsAddress");
            return (Criteria) this;
        }

        public Criteria andGoodsRemarkIsNull() {
            addCriterion("goods_remark is null");
            return (Criteria) this;
        }

        public Criteria andGoodsRemarkIsNotNull() {
            addCriterion("goods_remark is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsRemarkEqualTo(String value) {
            addCriterion("goods_remark =", value, "goodsRemark");
            return (Criteria) this;
        }

        public Criteria andGoodsRemarkNotEqualTo(String value) {
            addCriterion("goods_remark <>", value, "goodsRemark");
            return (Criteria) this;
        }

        public Criteria andGoodsRemarkGreaterThan(String value) {
            addCriterion("goods_remark >", value, "goodsRemark");
            return (Criteria) this;
        }

        public Criteria andGoodsRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("goods_remark >=", value, "goodsRemark");
            return (Criteria) this;
        }

        public Criteria andGoodsRemarkLessThan(String value) {
            addCriterion("goods_remark <", value, "goodsRemark");
            return (Criteria) this;
        }

        public Criteria andGoodsRemarkLessThanOrEqualTo(String value) {
            addCriterion("goods_remark <=", value, "goodsRemark");
            return (Criteria) this;
        }

        public Criteria andGoodsRemarkLike(String value) {
            addCriterion("goods_remark like", value, "goodsRemark");
            return (Criteria) this;
        }

        public Criteria andGoodsRemarkNotLike(String value) {
            addCriterion("goods_remark not like", value, "goodsRemark");
            return (Criteria) this;
        }

        public Criteria andGoodsRemarkIn(List<String> values) {
            addCriterion("goods_remark in", values, "goodsRemark");
            return (Criteria) this;
        }

        public Criteria andGoodsRemarkNotIn(List<String> values) {
            addCriterion("goods_remark not in", values, "goodsRemark");
            return (Criteria) this;
        }

        public Criteria andGoodsRemarkBetween(String value1, String value2) {
            addCriterion("goods_remark between", value1, value2, "goodsRemark");
            return (Criteria) this;
        }

        public Criteria andGoodsRemarkNotBetween(String value1, String value2) {
            addCriterion("goods_remark not between", value1, value2, "goodsRemark");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailIsNull() {
            addCriterion("goods_detail is null");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailIsNotNull() {
            addCriterion("goods_detail is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailEqualTo(String value) {
            addCriterion("goods_detail =", value, "goodsDetail");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailNotEqualTo(String value) {
            addCriterion("goods_detail <>", value, "goodsDetail");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailGreaterThan(String value) {
            addCriterion("goods_detail >", value, "goodsDetail");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailGreaterThanOrEqualTo(String value) {
            addCriterion("goods_detail >=", value, "goodsDetail");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailLessThan(String value) {
            addCriterion("goods_detail <", value, "goodsDetail");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailLessThanOrEqualTo(String value) {
            addCriterion("goods_detail <=", value, "goodsDetail");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailLike(String value) {
            addCriterion("goods_detail like", value, "goodsDetail");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailNotLike(String value) {
            addCriterion("goods_detail not like", value, "goodsDetail");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailIn(List<String> values) {
            addCriterion("goods_detail in", values, "goodsDetail");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailNotIn(List<String> values) {
            addCriterion("goods_detail not in", values, "goodsDetail");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailBetween(String value1, String value2) {
            addCriterion("goods_detail between", value1, value2, "goodsDetail");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailNotBetween(String value1, String value2) {
            addCriterion("goods_detail not between", value1, value2, "goodsDetail");
            return (Criteria) this;
        }

        public Criteria andGoodsListIsNull() {
            addCriterion("goods_list is null");
            return (Criteria) this;
        }

        public Criteria andGoodsListIsNotNull() {
            addCriterion("goods_list is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsListEqualTo(String value) {
            addCriterion("goods_list =", value, "goodsList");
            return (Criteria) this;
        }

        public Criteria andGoodsListNotEqualTo(String value) {
            addCriterion("goods_list <>", value, "goodsList");
            return (Criteria) this;
        }

        public Criteria andGoodsListGreaterThan(String value) {
            addCriterion("goods_list >", value, "goodsList");
            return (Criteria) this;
        }

        public Criteria andGoodsListGreaterThanOrEqualTo(String value) {
            addCriterion("goods_list >=", value, "goodsList");
            return (Criteria) this;
        }

        public Criteria andGoodsListLessThan(String value) {
            addCriterion("goods_list <", value, "goodsList");
            return (Criteria) this;
        }

        public Criteria andGoodsListLessThanOrEqualTo(String value) {
            addCriterion("goods_list <=", value, "goodsList");
            return (Criteria) this;
        }

        public Criteria andGoodsListLike(String value) {
            addCriterion("goods_list like", value, "goodsList");
            return (Criteria) this;
        }

        public Criteria andGoodsListNotLike(String value) {
            addCriterion("goods_list not like", value, "goodsList");
            return (Criteria) this;
        }

        public Criteria andGoodsListIn(List<String> values) {
            addCriterion("goods_list in", values, "goodsList");
            return (Criteria) this;
        }

        public Criteria andGoodsListNotIn(List<String> values) {
            addCriterion("goods_list not in", values, "goodsList");
            return (Criteria) this;
        }

        public Criteria andGoodsListBetween(String value1, String value2) {
            addCriterion("goods_list between", value1, value2, "goodsList");
            return (Criteria) this;
        }

        public Criteria andGoodsListNotBetween(String value1, String value2) {
            addCriterion("goods_list not between", value1, value2, "goodsList");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}